package com.group9.handinhand.controller.form;

import java.util.List;

import com.group9.handinhand.service.so.CommunitySO;
import com.group9.handinhand.service.so.FriendshipRequestSO;
import com.group9.handinhand.service.so.FriendshipSO;
import com.group9.handinhand.service.so.UserSO;
import com.group9.handinhand.service.so.UserTagSO;


public class ProfileViewForm {
	
	UserSO profileOwner;
	UserSO profileViewer;
	List<UserTagSO> profileOwnerTags;
	List<CommunitySO> communityList;
	FriendshipSO friendship;
	FriendshipRequestSO friendshipRequest;
	String pictureString;
	/**
	 * A getter method
	 * @return the user who is the owner of the profile
	 */
	public UserSO getProfileOwner() {
		return profileOwner;
	}
	/**
	 * A setter method.
	 * @param profileOwner
	 */
	public void setProfileOwner(UserSO profileOwner) {
		this.profileOwner = profileOwner;
	}
	/**
	 * A getter method
	 * @return the list of the tags of the profile owner
	 */
	public List<UserTagSO> getProfileOwnerTags() {
		return profileOwnerTags;
	}
	/**
	 * A setter method.
	 * @param profileOwnerTags
	 */
	public void setProfileOwnerTags(List<UserTagSO> profileOwnerTags) {
		this.profileOwnerTags = profileOwnerTags;
	}
	/**
	 * A getter method
	 * @return the view of the profile
	 */
	public UserSO getProfileViewer() {
		return profileViewer;
	}
	/**
	 * A setter method.
	 * @param profileViewer
	 */
	public void setProfileViewer(UserSO profileViewer) {
		this.profileViewer = profileViewer;
	}
	/**
	 * A getter method.
	 * @return the list of the community 
	 */
	public List<CommunitySO> getCommunityList() {
		return communityList;
	}
	/**
	 * A setter method.
	 * @param communityList
	 */
	public void setCommunityList(List<CommunitySO> communityList) {
		this.communityList = communityList;
	}
	/**
	 * A getter method.
	 * @return the friendship of the user
	 */
	public FriendshipSO getFriendship() {
		return friendship;
	}
	/**
	 * a setter method.
	 * @param friendship
	 */
	public void setFriendship(FriendshipSO friendship) {
		this.friendship = friendship;
	}
	/**
	 * A getter method.
	 * @return the friendship request
	 */
	public FriendshipRequestSO getFriendshipRequest() {
		return friendshipRequest;
	}
	/**
	 * A setter method.
	 * @param friendshipRequest
	 */
	public void setFriendshipRequest(FriendshipRequestSO friendshipRequest) {
		this.friendshipRequest = friendshipRequest;
	}
	
	public String getPictureString() {
		return pictureString;
	}

	public void setPictureString(String pictureString) {
		this.pictureString = pictureString;
	}

	@Override
	public String toString() {
		return "ProfileViewForm [profileOwner=" + profileOwner
				+ ", profileViewer=" + profileViewer + ", profileOwnerTags="
				+ profileOwnerTags + ", communityList=" + communityList
				+ ", friendship=" + friendship + ", friendshipRequest="
				+ friendshipRequest + "]";
	}

	
}
